/**
 * @license
 * Copyright Alibaba.com All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-apesd/blob/master/LICENSE
 */

import { OverlayModule } from '@angular/cdk/overlay';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';

import { ApesOptionContainerComponent } from './apes-option-container.component';
import { ApesOptionGroupComponent } from './apes-option-group.component';
import { ApesOptionLiComponent } from './apes-option-li.component';
import { ApesOptionComponent } from './apes-option.component';
import { ApesFilterGroupOptionPipe, ApesFilterOptionPipe } from './apes-option.pipe';
import { ApesSelectTopControlComponent } from './apes-select-top-control.component';
import { ApesSelectUnselectableDirective } from './apes-select-unselectable.directive';
import { ApesSelectComponent } from './apes-select.component';
import { ApesI18nModule } from '@shared/apes/i18n';
import { ApesIconModule } from '@shared/apes/icon';
import { ApesAddOnModule, ApesNoAnimationModule, ApesOverlayModule } from '@shared/apes/core';
import { ApesEmptyModule } from '@shared/apes/empty';

@NgModule({
  imports: [
    CommonModule,
    ApesI18nModule,
    FormsModule,
    OverlayModule,
    ApesIconModule,
    ApesAddOnModule,
    ApesEmptyModule,
    ApesOverlayModule,
    ApesNoAnimationModule,
    ApesIconModule,
  ],
  declarations: [
    ApesFilterGroupOptionPipe,
    ApesFilterOptionPipe,
    ApesOptionComponent,
    ApesSelectComponent,
    ApesOptionContainerComponent,
    ApesOptionGroupComponent,
    ApesOptionLiComponent,
    ApesSelectTopControlComponent,
    ApesSelectUnselectableDirective
  ],
  exports: [
    ApesOptionComponent,
    ApesSelectComponent,
    ApesOptionContainerComponent,
    ApesOptionGroupComponent,
    ApesSelectTopControlComponent
  ]
})
export class ApesSelectModule {}
